Global satellite navigation fulfills many pervasive needs. Initially a service for military and general aviation, the use of satellite navigation systems continues to expand into many commercial and consumer products for applications ranging from casual applications to emergency services. The preponderance of Global Navigation Satellite System (GNSS) products are enabled by the Global Positioning System (GPS) as managed by the United States Air Force. GPS is now or may soon be joined by several additional GNSS systems including: Globalnaya Navigazionnaya Sputnikovaya Sistema (Glonass) (Russia), Galileo (European Space Agency), BeiDou Navigation Satellite System (China), and Quasi-Zenith Satellite System (QZSS) (Japan).
Many electronic devices, including mobile computing devices (e.g., tablets, phones, laptops, etc.), have been developed that leverage GNSS capabilities to facilitate location-based services and/or emergency caller location services in response to government requirements. Furthermore, small cell radio access nodes currently provide, or will in the future provide, necessary infrastructure for wireless services. For instance, it has been contemplated that fifth-generation mobile networks (i.e., 5G networks) will utilize small cells to provide continuous or near continuous 5G coverage, especially in urban areas. Such small cells are envisioned to provide more efficient provisioning of spectrum to users of mobile computing devices and enable data reception in virtually all environments. Accurately determining the location of such small cells will become critical to the operation thereof. As such, it is contemplated that small cells will incorporate GNSS technologies for use in locating the small cells in connection with provision of wireless services such as data communication, voice communication, and the like.
Regardless of the specific context in which GNSS services are utilized, it may be that a receiver may have difficulty in acquiring sufficient positioning system signals to determine a location of the receiver. A number of conditions may exist that present such difficulty. Such conditions may limit the number of signals that may be acquired and/or the strength of such signals. For instance, often times a receiver may be located within (i.e., imbedded within) a building. Such receivers that are imbedded within a building may experience high attenuation of signals as signals must pass through the building materials surrounding the receiver. Furthermore, such in-building or imbedded receivers may be located in highly urbanized areas. In such contexts, in addition to high attenuation of positioning system signals, the signals may also experience multipath propagation of signals and/or experience reflection of signals, among other conditions in the urban environment that make signal acquisition difficult.
Some prior approaches have utilized data received through connections to asynchronous packet-switched networks (e.g., WANs, the Internet, etc.) to supplement and/or replace one or more GPS signals to fix a position of a receiver connected to the network(s). For instance, a number of such solutions are described in U.S. Pat. No. 7,961,717, entitled “System and Methods for IP and VoIP Device Location Determination,” assigned to the assignee of the present application, and incorporated herein in its entirety.
To increase position fixing accuracy as well as performance and capacity, in-building receiver devices like LTE base stations, positioning system receivers, VoIP phones, small cell nodes, picocell nodes, or the like may need to be time synchronized as variations in the frequency and/or phase in the local time base for such devices can lead to performance degradation or malfunctions. Prior approaches to synchronization of the local time base of network-connected devices sometimes include the use of network synchronization techniques that rely on communication over the network to which the device is connected. For instance, the precision time protocol (PTP or IEEE 1588) includes a packet system, which provides for time and frequency information derived from an Internet connection.
FIG. 1 presents a schematic diagram of an End to End PTP system 100 according to the prior art while FIG. 2 presents a PTP timing packet flow such as in the system illustrated in FIG. 1. Generally, any appropriate grandmaster device 104 that has the ability to obtain accurate timing signals from GPS 112 (or otherwise be synchronized to any appropriate accurate clock/oscillator) generates and sends an initial synchronization (sync) message or packet 204 at a time t1 (on the grandmaster time base) over the Internet 110 (or other asynchronous packet-switched network made up of multiple routers, switches, and other devices) to a receiver device 108 (e.g., slave, client, etc.). Upon receipt of the sync packet 204, the receiver device 108 records the time (on the local receiver time base) that the sync packet 204 was received at the receiver device (at a time “t2” in this example) and records the same in any appropriate data store 220 (e.g., memory, etc.). In the event that the sync packet 204 is not stamped with the time the grandmaster device 104 may send a follow up message or packet 208 that contains the value of t1 which may be received by the receiver device 108 and stored in the data store 220.
The receiver device 108 may also send a “delay request” message or packet 212 at a time t3 (on the local receiver time base) over the Internet 110 to the grandmaster device 104 which may be received by the grandmaster device 104 at a time t4 (on the grandmaster time base). The grandmaster device 104 may then send a “delay response” message or packet 216 that contains the value of t4 which may be received by the receiver device 108 and stored in the data store 220 along with the value of t3. The above packet exchange may be performed multiple times per second (e.g., 64 times per second or the like) and the values of t1, t2, t2, and t4 may be manipulated in various manners to obtain frequency and phase corrections that may be made to the pulse per second (PPS) or other timing signal of the oscillator of the receiver device 1080 to synchronize the local receiver time base to the grandmaster time base (and thus that of GPS).
To recover frequency, the t1 and t2 values of adjacent (i.e., adjacent in time) sync packets 204 may be manipulated as follows to obtain a measure of a frequency error for each adjacent sync packet pair:
                    [                                            t              2                        ⁡                          (                              n                +                1                            )                                -                                    t              1                        ⁡                          (                              n                +                1                            )                                      ]            -              [                                            t              2                        ⁡                          (              n              )                                -                                    t              1                        ⁡                          (              n              )                                      ]                    (                                    t            1                    ⁡                      (                          n              +              1                        )                          -                              t            1                    ⁡                      (            n            )                              )        =            Δ      ⁢                          ⁢      f        f  
If the error or difference between t2 and t1 for each packet is defined as te(n), then the above frequency error ratio for each adjacent packet pair can be written as follows:
                              t          e                ⁡                  (                      n            +            1                    )                    -                        t          e                ⁡                  (          n          )                                              t          1                ⁡                  (                      n            +            1                    )                    -                        t          1                ⁡                  (          n          )                      =            Δ      ⁢                          ⁢      f        f  
The value of
      Δ    ⁢                  ⁢    f    fmay be a dimensionless quantity (e.g., such as parts per billion or ppb) that provides an indication of the relative frequency error of the oscillator of the receiver device 108. For instance, it may generally be known that for each 10 ppb of frequency stability, there is 10 nanoseconds of frequency error for every one second of time.
When the difference in the numerator is zero, then the frequency error is also zero. Also, if the numerator and the denominator are constant from packet pair to packet pair, the frequency may be non-zero but nevertheless constant. In the case where there is variability in the ratio from packet pair to packet pair, an average of te+1)−te (n) for a plurality of packet pairs may be obtained and the average of the ratio may be obtained. However, an increase in the variability of te between adjacent packet pairs reduces the accuracy of the computed frequency error. Furthermore, it does not take much for a small difference in te between adjacent packet pairs to create large frequency errors. For example, if the difference in delay is 1 μsec and the packet rate is a typical 64 packets per second, the frequency error is 64000 ppb which is well off of a hypothetical target of 50 ppb.
One manner in which existing systems attempt to address the above problem is through use of a phase look loop (PLL). A PLL is effectively an “averager” that can remove large te outliers among a plurality of te for a plurality of packet pairs. However, PLLs often do not typically affect the average frequency as the majority of the te values are small.
To recover time through the use of the PTP packets, the t1, t2, t2, and t4 values of a plurality of packet exchanges (e.g., where each packet exchange includes a sync packet 204, a follow up packet 208, a delay request packet 212, and a delay response packet 216) may be manipulated as follows to obtain round trip delay (RTD) values (Trtd) and corresponding time offset values (Toffset) that can be used to adjust or correct the phase of the timing signal maintained by the receiver device 108:
                    Trtd        =                              (                                          T                ⁢                                                                  ⁢                2                            -                              T                ⁢                                                                  ⁢                1                                      )                    +                      (                                          T                ⁢                                                                  ⁢                4                            -                              T                ⁢                                                                  ⁢                3                                      )                                                  Toffset        =                                            (                                                T                  ⁢                                                                          ⁢                  2                                -                                  T                  ⁢                                                                          ⁢                  1                                            )                        -                          (                                                T                  ⁢                                                                          ⁢                  4                                -                                  T                  ⁢                                                                          ⁢                  3                                            )                                2                    
However, there can be large variations in Trtd and Toffset among a plurality of PTP packet exchanges due to the variations in processing times, nodes or hops in the paths that the PTP packets take between the grandmaster and receiver devices 104, 108, timing jitter, and the like. One manner in which existing systems attempt to address the above problem is through use of a low pass filter (e.g., PLL) or the like where all of the Toffset values for a series of PTP packet exchanges over time are averaged while removing selected Toffset value outliers. However, this method causes a continuous variation of the time or phase as measured by a generated PPS signal and can take a long time for the system to converge and provide a Toffset value. Many receivers such as LTE systems and the like may not perform well if the time is continuously varying as this can result in GPS signals never being acquired.
Furthermore, it can sometimes be difficult to transfer microsecond grade (or finer) time from a grandmaster device or other source to a receiver device via the open Internet with large time uncertainties, time jitter, and the like for purposes of assisting a GPS fix. For instance, path asymmetries may be so large that they are out of the GPS time search range and time jitter may be beyond the available search range of the system causing even stepped or ring systems to produce suboptimal results. Still further, network routes can change dynamically causing instant changes in time transfer (e.g., which may be undetectable by current systems).